<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Complementary sequences</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Complementary_sequences"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Complementary_sequences rootpage-Complementary_sequences skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Complementary sequences</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<dl><dd><i>For complementary sequences in biology, see <a href="Complementarity_(molecular_biology)" title="Complementarity (molecular biology)">complementarity (molecular biology)</a>. For integer sequences with complementary sets of members see <a href="Lambek%E2%80%93Moser_theorem" title="Lambek–Moser theorem">Lambek–Moser theorem</a>.</i></dd></dl>
<p>In applied mathematics, <b>complementary sequences</b> (<b>CS</b>) are pairs of <a href="Sequence" title="Sequence">sequences</a> with the useful property that their out-of-phase aperiodic <a href="Autocorrelation" title="Autocorrelation">autocorrelation</a> coefficients sum to zero. Binary complementary sequences were first introduced by <a href="Marcel_J._E._Golay" title="Marcel J. E. Golay">Marcel J. E. Golay</a> in 1949. In 1961–1962 Golay gave several methods for constructing sequences of length 2<sup><i>N</i></sup> and gave examples of complementary sequences of lengths 10 and 26. In 1974 R. J. Turyn gave a method for constructing sequences of length <i>mn</i> from sequences of lengths <i>m</i> and <i>n</i> which allows the construction of sequences of any length of the form 2<sup><i>N</i></sup>10<sup><i>K</i></sup>26<sup><i>M</i></sup>.
</p><p>Later the theory of complementary sequences was generalized by other authors to polyphase complementary sequences, multilevel complementary sequences, and arbitrary complex complementary sequences. <b>Complementary sets</b> have also been considered; these can contain more than two sequences.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Definition">Definition</h2></div>
<p>Let (<i>a</i><sub>0</sub>, <i>a</i><sub>1</sub>, ..., <i>a</i><sub><i>N</i> − 1</sub>) and (<i>b</i><sub>0</sub>, <i>b</i><sub>1</sub>, ..., <i>b</i><sub><i>N</i> − 1</sub>) be a pair of bipolar sequences, meaning that <i>a</i>(<i>k</i>) and <i>b</i>(<i>k</i>) have values +1 or −1. Let the aperiodic <a href="Autocorrelation_function" class="mw-redirect" title="Autocorrelation function">autocorrelation function</a> of the sequence <b>x</b> be defined by
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R_{x}(k)=\sum _{j=0}^{N-k-1}x_{j}x_{j+k}.\,}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>k</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<munderover>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mi>k</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</munderover>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
</mrow>
</msub>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>j</mi>
<mo>+</mo>
<mi>k</mi>
</mrow>
</msub>
<mo>.</mo>
<mspace width="thinmathspace"></mspace>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle R_{x}(k)=\sum _{j=0}^{N-k-1}x_{j}x_{j+k}.\,}</annotation>
</semantics>
</math></span><img src="./85f070c1e4e082707a686e3483ca5baccf7ea1e5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.338ex; width:22.785ex; height:7.676ex;" alt="{\displaystyle R_{x}(k)=\sum _{j=0}^{N-k-1}x_{j}x_{j+k}.\,}" loading="lazy"></span></dd></dl>
<p>Then the pair of sequences <i>a</i> and <i>b</i> is complementary if:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R_{a}(k)+R_{b}(k)=2N,\,}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>a</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>k</mi>
<mo stretchy="false">)</mo>
<mo>+</mo>
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>b</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>k</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>2</mn>
<mi>N</mi>
<mo>,</mo>
<mspace width="thinmathspace"></mspace>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle R_{a}(k)+R_{b}(k)=2N,\,}</annotation>
</semantics>
</math></span><img src="./0e4ed0f0226aa7b8c3afd310f689ce1e418cddaa.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:21.807ex; height:2.843ex;" alt="{\displaystyle R_{a}(k)+R_{b}(k)=2N,\,}" loading="lazy"></span></dd></dl>
<p>for <i>k</i> = 0, and
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R_{a}(k)+R_{b}(k)=0,\,}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>a</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>k</mi>
<mo stretchy="false">)</mo>
<mo>+</mo>
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>b</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>k</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mspace width="thinmathspace"></mspace>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle R_{a}(k)+R_{b}(k)=0,\,}</annotation>
</semantics>
</math></span><img src="./d602994c74d11dece7920cba24554b00b2ef9b44.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:19.744ex; height:2.843ex;" alt="{\displaystyle R_{a}(k)+R_{b}(k)=0,\,}" loading="lazy"></span></dd></dl>
<p>for <i>k</i> = 1, ..., <i>N</i> − 1.
</p><p>Or using <a href="Kronecker_delta" title="Kronecker delta">Kronecker delta</a> we can write:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R_{a}(k)+R_{b}(k)=2N\delta (k),\,}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>a</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>k</mi>
<mo stretchy="false">)</mo>
<mo>+</mo>
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>b</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<mi>k</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>2</mn>
<mi>N</mi>
<mi>δ<!-- δ --></mi>
<mo stretchy="false">(</mo>
<mi>k</mi>
<mo stretchy="false">)</mo>
<mo>,</mo>
<mspace width="thinmathspace"></mspace>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle R_{a}(k)+R_{b}(k)=2N\delta (k),\,}</annotation>
</semantics>
</math></span><img src="./a14c4fe7cced23f0507ae1dfaed989a8cb028041.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:25.877ex; height:2.843ex;" alt="{\displaystyle R_{a}(k)+R_{b}(k)=2N\delta (k),\,}" loading="lazy"></span></dd></dl>
<p>So we can say that the sum of autocorrelation functions of complementary sequences is a delta function, which is an ideal autocorrelation for many applications like <a href="Radar" title="Radar">radar</a> <a href="Pulse_compression" title="Pulse compression">pulse compression</a> and <a href="Spread_spectrum" title="Spread spectrum">spread spectrum</a> <a href="Telecommunications" title="Telecommunications">telecommunications</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Examples">Examples</h2></div>
<ul><li>As the simplest example we have sequences of length 2: (+1, +1) and (+1, −1). Their autocorrelation functions are (2, 1) and (2, −1), which add up to (4, 0).</li>
<li>As the next example (sequences of length 4), we have (+1, +1, +1, −1) and (+1, +1, −1, +1). Their autocorrelation functions are (4, 1, 0, −1) and (4, −1, 0, 1), which add up to (8, 0, 0, 0).</li>
<li>One example of length 8 is (+1, +1, +1, −1, +1, +1, −1, +1) and (+1, +1, +1, −1, −1, −1, +1, −1). Their autocorrelation functions are (8, −1, 0, 3, 0, 1, 0, 1) and (8, 1, 0, −3, 0, −1, 0, −1).</li>
<li>An example of length 10 given by Golay is (+1, +1, −1, +1, −1, +1, −1, −1, +1, +1) and (+1, +1, −1, +1, +1, +1, +1, +1, −1, −1). Their autocorrelation functions are (10, −3, 0, −1, 0, 1,−2, −1, 2, 1) and (10, 3, 0, 1, 0, −1, 2, 1, −2, −1).</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Properties_of_complementary_pairs_of_sequences">Properties of complementary pairs of sequences</h2></div>
<ul><li>Complementary <a href="Sequences" class="mw-redirect" title="Sequences">sequences</a> have complementary spectra. As the autocorrelation function and the power spectra form a Fourier pair, complementary sequences also have complementary spectra. But as the Fourier transform of a delta function is a constant, we can write</li></ul>
<dl><dd><dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle S_{a}+S_{b}=C_{S},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>a</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>b</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>S</mi>
</mrow>
</msub>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle S_{a}+S_{b}=C_{S},}</annotation>
</semantics>
</math></span><img src="./200bae1684e599eff8b6568b78e8b1676459a25f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:14.429ex; height:2.509ex;" alt="{\displaystyle S_{a}+S_{b}=C_{S},}" loading="lazy"></span></dd></dl></dd></dl>
<dl><dd>where <i>C</i><sub><i>S</i></sub> is a constant.</dd></dl>
<dl><dd><i>S</i><sub><i>a</i></sub> and <i>S</i><sub><i>b</i></sub> are defined as a squared magnitude of the <a href="Fourier_transform" title="Fourier transform">Fourier transform</a> of the sequences. The Fourier transform can be a direct DFT of the sequences, it can be a DFT of zero padded sequences or it can be a continuous Fourier transform of the sequences which is equivalent to the <a href="Z_transform" class="mw-redirect" title="Z transform">Z transform</a> for <span class="texhtml"><i>Z</i> = <i>e</i><sup><i>j</i>ω</sup></span>.</dd></dl>
<ul><li>CS spectra is upper bounded. As <i>S</i><sub><i>a</i></sub> and <i>S</i><sub><i>b</i></sub> are non-negative values we can write</li></ul>
<dl><dd><dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle S_{a}=C_{S}-S_{b}<C_{S},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>a</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>S</mi>
</mrow>
</msub>
<mo>−<!-- − --></mo>
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>b</mi>
</mrow>
</msub>
<mo><</mo>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>S</mi>
</mrow>
</msub>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle S_{a}=C_{S}-S_{b}<C_{S},}</annotation>
</semantics>
</math></span><img src="./c48c71ab0390a0ffc94f7163a5db67e0670bfea0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:20.482ex; height:2.509ex;" alt="{\displaystyle S_{a}=C_{S}-S_{b}<C_{S},}" loading="lazy"></span></dd></dl></dd></dl>
<dl><dd>also</dd></dl>
<dl><dd><dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle S_{b}<C_{S}.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>b</mi>
</mrow>
</msub>
<mo><</mo>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>S</mi>
</mrow>
</msub>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle S_{b}<C_{S}.}</annotation>
</semantics>
</math></span><img src="./47bf0b9c087e79cce06e4038ba58f7b507f94cdc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:9.062ex; height:2.509ex;" alt="{\displaystyle S_{b}<C_{S}.}" loading="lazy"></span></dd></dl></dd></dl>
<ul><li>If either of the sequences of the CS pair is inverted (multiplied by −1) they remain complementary. More generally if any of the sequences is multiplied by <i>e</i><sup><i>j</i>φ</sup> they remain complementary;</li>
<li>If either of the sequences is reversed they remain complementary;</li>
<li>If either of the sequences is delayed they remain complementary;</li>
<li>If the sequences are interchanged they remain complementary;</li>
<li>If both sequences are multiplied by the same constant (real or complex) they remain complementary;</li>
<li>If alternating bits of both sequences are inverted they remain complementary. In general for arbitrary complex sequences if both sequences are multiplied by <i>e</i><sup><i>j</i>π<i>kn</i>/<i>N</i></sup> (where <i>k</i> is a constant and <i>n</i> is the time index) they remain complementary;</li>
<li>A new pair of complementary sequences can be formed as [<i>a</i> <i>b</i>] and [<i>a</i> −<i>b</i>] where [..] denotes concatenation and <i>a</i> and <i>b</i> are a pair of CS;</li>
<li>A new pair of sequences can be formed as {<i>a</i> <i>b</i>} and {<i>a</i> −<i>b</i>} where {..} denotes <a href="Interleave_sequence" title="Interleave sequence">interleaving</a> of sequences.</li>
<li>A new pair of sequences can be formed as <i>a</i> + <i>b</i> and <i>a</i> − <i>b</i>.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Golay_pair">Golay pair</h2></div>
<p>A complementary pair <i>a</i>, <i>b</i> may be encoded as polynomials <i>A</i>(<i>z</i>) = <i>a</i>(0) + <i>a</i>(1)<i>z</i> + ... + <i>a</i>(<i>N</i> − 1)<i>z</i><sup><i>N</i>−1</sup> and similarly for <i>B</i>(<i>z</i>). The complementarity property of the sequences is equivalent to the condition
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \vert A(z)\vert ^{2}+\vert B(z)\vert ^{2}=2N\,}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo fence="false" stretchy="false">|</mo>
<mi>A</mi>
<mo stretchy="false">(</mo>
<mi>z</mi>
<mo stretchy="false">)</mo>
<msup>
<mo fence="false" stretchy="false">|</mo>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo>+</mo>
<mo fence="false" stretchy="false">|</mo>
<mi>B</mi>
<mo stretchy="false">(</mo>
<mi>z</mi>
<mo stretchy="false">)</mo>
<msup>
<mo fence="false" stretchy="false">|</mo>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo>=</mo>
<mn>2</mn>
<mi>N</mi>
<mspace width="thinmathspace"></mspace>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \vert A(z)\vert ^{2}+\vert B(z)\vert ^{2}=2N\,}</annotation>
</semantics>
</math></span><img src="./0c37dc2bd3e6c69c0f2eb91d766103417d73f805.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:23.55ex; height:3.176ex;" alt="{\displaystyle \vert A(z)\vert ^{2}+\vert B(z)\vert ^{2}=2N\,}" loading="lazy"></span></dd></dl>
<p>for all <i>z</i> on the unit circle, that is, |<i>z</i>| = 1. If so, <i>A</i> and <i>B</i> form a <b>Golay pair</b> of polynomials. Examples include the <a href="Shapiro_polynomials" title="Shapiro polynomials">Shapiro polynomials</a>, which give rise to complementary sequences of length a <a href="Power_of_two" title="Power of two">power of two</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Applications_of_complementary_sequences">Applications of complementary sequences</h2></div>
<ul><li>Multislit spectrometry</li>
<li>Ultrasound measurements</li>
<li>Acoustic measurements</li>
<li><a href="Radar" title="Radar">radar</a> <a href="Pulse_compression" title="Pulse compression">pulse compression</a></li>
<li><a href="Wi-Fi" title="Wi-Fi">Wi-Fi</a> networks,</li>
<li><a href="3G" title="3G">3G</a> <a href="CDMA" class="mw-redirect" title="CDMA">CDMA</a> wireless networks</li>
<li><a href="OFDM" class="mw-redirect" title="OFDM">OFDM</a> communication systems</li>
<li>Train wheel detection systems<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></li>
<li>Non-destructive tests (NDT)</li>
<li>Communications</li>
<li><a href="Coded_aperture" title="Coded aperture">coded aperture</a> masks are designed using a 2-dimensional generalization of complementary sequences.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Binary_Golay_code" title="Binary Golay code">Binary Golay code</a> (<a href="Error-correcting_code" class="mw-redirect" title="Error-correcting code">Error-correcting code</a>)</li>
<li><a href="Gold_code" title="Gold code">Gold sequences</a></li>
<li><a href="Kasami_code" title="Kasami code">Kasami sequences</a></li>
<li><a href="Polyphase_sequence" title="Polyphase sequence">Polyphase sequence</a></li>
<li><a href="Pseudorandom_binary_sequence" title="Pseudorandom binary sequence">Pseudorandom binary sequences</a> (also called <a href="Maximum_length_sequence" title="Maximum length sequence">maximum length sequences</a> or M-sequences)</li>
<li><a href="Ternary_Golay_code" title="Ternary Golay code">Ternary Golay code</a> (<a href="Error-correcting_code" class="mw-redirect" title="Error-correcting code">Error-correcting code</a>)</li>
<li><a href="Hadamard_code" title="Hadamard code">Walsh-Hadamard sequences</a></li>
<li><a href="Zadoff%E2%80%93Chu_sequence" title="Zadoff–Chu sequence">Zadoff–Chu sequence</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">
Donato, P.G.; Ureña, J.; Mazo, M.; Alvarez, F.
"Train wheel detection without electronic equipment near the rail line".
2004.
<style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FIVS.2004.1336500">10.1109/IVS.2004.1336500</a></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text">
J.J. Garcia; A. Hernandez; J. Ureña; J.C. Garcia; M. Mazo; J.L. Lazaro; M.C. Perez; F. Alvarez.
<a rel="nofollow" class="external text" href="http://geintra-uah.org/system/files/private/IV04_I.pdf">"Low cost obstacle detection for smart railway infrastructures"</a>.
2004.</span>
</li>
</ol></div></div>
<style data-mw-deduplicate="TemplateStyles:r1239549316">
/* start https://en.wikipedia.org/ */
.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}
/* end https://en.wikipedia.org/ */
</style><div class="refbegin" style="">
<ul><li><cite id="CITEREFGolay1949" class="citation journal cs1"><a href="Marcel_J._E._Golay" title="Marcel J. E. Golay">Golay, Marcel J.E.</a> (1949). "Multislit spectroscopy". <i>J. Opt. Soc. Am</i>. <b>39</b> (6): <span class="nowrap">437–</span>444. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1364%2FJOSA.39.000437">10.1364/JOSA.39.000437</a>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a> <a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/18152021">18152021</a>.</cite></li>
<li><cite id="CITEREFGolay1961" class="citation journal cs1">Golay, Marcel J.E. (April 1961). "Complementary series". <i>IRE Trans. Inf. Theory</i>. <b>7</b> (2): <span class="nowrap">82–</span>87. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FTIT.1961.1057620">10.1109/TIT.1961.1057620</a>.</cite></li>
<li><cite id="CITEREFGolay1962" class="citation journal cs1">Golay, Marcel J.E. (1962). "Note on "Complementary series"". <i><a href="Proc._IRE" class="mw-redirect" title="Proc. IRE">Proc. IRE</a></i>. <b>50</b>: 84. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FJRPROC.1962.288278">10.1109/JRPROC.1962.288278</a>.</cite></li>
<li><cite id="CITEREFTuryn1974" class="citation journal cs1">Turyn, R.J. (1974). <a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0097-3165%2874%2990056-9">"Hadamard matrices, Baumert-Hall units, four-symbol sequences, pulse compression, and surface wave encodings"</a>. <i>J. Comb. Theory A</i>. <b>16</b> (3): <span class="nowrap">313–</span>333. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0097-3165%2874%2990056-9">10.1016/0097-3165(74)90056-9</a></span>.</cite></li>
<li><cite id="CITEREFBorwein2002" class="citation book cs1"><a href="Peter_Borwein" title="Peter Borwein">Borwein, Peter</a> (2002). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=A_ITwN13J6YC&pg=PA110"><i>Computational Excursions in Analysis and Number Theory</i></a>. Springer. pp. <span class="nowrap">110–</span>9. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-387-95444-8</bdi>.</cite></li>
<li><cite id="CITEREFDonatoUreñaMazoDe_Marziani2006" class="citation journal cs1">Donato, P.G.; Ureña, J.; Mazo, M.; De Marziani, C.; Ochoa, A. (2006). "Design and signal processing of a magnetic sensor array for train wheel detection". <i>Sensors and Actuators A: Physical</i>. <b>132</b> (2): <span class="nowrap">516–</span>525. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2006SeAcA.132..516D">2006SeAcA.132..516D</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.sna.2006.02.043">10.1016/j.sna.2006.02.043</a>.</cite></li></ul>
</div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-10-29" href="https://en.wikipedia.org/wiki/?title=Complementary_sequences&oldid=1254065717">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>